#ifndef HUFFMANTREE_H_
#define HUFFMANTREE_H_
#include "Node.h"
#include "LeafNode.h"
#include <map>
#include <string>

using std::map;
using std::pair;
using std::string;

class HuffmanTree {
private:
	Node* root;
	map<char, unsigned int> *chars;

public:
	HuffmanTree();
	virtual ~HuffmanTree();
	void generateTree();

	void setRoot(Node*);
	Node* getRoot();

	map<char, unsigned int> * getChars();
	void setChars(string);
	void addChar(char);

};

#endif /* HUFFMANTREE_H_ */
